package com.star.service;

import com.star.pojo.Blog;
import com.star.vo.*;

import java.util.List;

/**
 * com.star.service
 *
 * @Description: 博客服务层接口
 * @Date: 2020-08-06 15:46
 * @Author: LENSTAR
 * @URL: http://123.57.161.114:9000/
 */
public interface BlogService {

    //查询所有的博客
    List<BlogVo> getAllBlog();

    //添加博客
    int saveBlog(Blog blog);

    //修改博客
    int updateBlog(ShowBlog showBlog);

    //查询编辑修改的文章
    ShowBlog getShowBlogById(Long id);

    //删除博客
    int deleteBlog(Long id);

    //查找博客
    List<BlogVo> searchByTitleAndType(SearchBlog searchBlog);

    //查询首页博客列表信息
    List<FirstPageBlog> getFirstPageBlog();

    //根据标题查询
    List<FirstPageBlog> searchFirstBlogByTitle(String title);

    //通过id查询博客到博客详情页
    DetailedBlog getDetailedBlog(Long id);

    //文章访问更新
    int updateViews(Long id);

    //根据博客id查询出评论数量
    int getCommentCountById(Long id);

    //根据TypeId查询博客列表，显示在分类页面
    List<FirstPageBlog> getByTypeId(Long typeId);

    //根据TagId查询博客列表，显示在标签页面
    List<FirstPageBlog> getByTagId(Long tagId);

    //查询十个阅读量最多的博客
    List<Blog> getBlog(Integer number);

    //查询最新的三个博客
    List<Blog> getNewBlog();

}
